﻿using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace DosTexPrj.Core.Models
{
    [DataContract]
    public class KnittingOrder : EntityBaseWithIntIDType
    {
        [DataMember]
        public virtual int BelongToKnittingOrderId { get; set; }

        [DataMember]
        public virtual Order BelongToOrder { get; set; }

        [DataMember]
        public virtual Supplier BelongToSupplier { get; set; }

        [DataMember]
        public virtual FabricType FabricType { get; set; }

        [DataMember]
        public virtual Composition Composition { get; set; }

        [DataMember]
        public virtual double LenghtOfYarnPer100Needles { get; set; }

        [DataMember]
        public virtual DateTime OrderDate { get; set; }

        [DataMember]
        public virtual OrderStatus OrderStatus { get; set; }

        [DataMember]
        public virtual string WhaleCourse { get; set; }

        [DataMember]
        public virtual string KnittingMachine { get; set; }

        [DataMember]
        public virtual string Gauge { get; set; }

        [DataMember]
        public virtual string Diameter { get; set; }

        [DataMember]
        public virtual double FabricWeight { get; set; }

        [DataMember]
        public virtual double ECRUWeight { get; set; }

        [DataMember]
        public virtual double ECRUWidth { get; set; }

        [DataMember]
        public virtual double FinishEstimatedWidth { get; set; }

        [DataMember]
        public virtual double FinishEstimatedWeight { get; set; }

        [DataMember]
        public virtual string DeliveryAddress { get; set; }

        /// <summary>
        /// Get or Set Knitting Order Detail
        /// </summary>
        [DataMember]
        public virtual IList<KnittingOrderDetail> Details { get; set; }

        public KnittingOrder()
        {
            this.Details = new List<KnittingOrderDetail>();
        }
    }
}